package com.tarena.all;
import java.util.Scanner;
import java.util.Random;


public class Caishuzi {

	/**
	 * @param 猜数字游戏:编写程序，实现控制台的猜数字游戏。游戏运行时产生一个0～999之间
	 * 的随机整数，要求用户从控制台输入数字，若输入的数字比产生的数字小，则输出：
	 * “太小了，再大一点！”；若输入的数字比产生的数字大，则输出：“太大了，再小一点！”，
	 * 若输入的数字和产生的数字相等，则输出：“恭喜你猜对了！”然后退出程序；若用户猜了10次
	 * 还未猜对，则输出：“你太笨了，下次再来吧！”然后退出程序。
	 * 
	 * 案例分析：
	 *      	首先根据题意可以知道是程序随机生成一个0~1000的数字，让用户在控制台输入，
     *   		进行与生成的随机数进行判断，我们可以据此定义本类中得几个变量如下：
     *          用户猜的次数 n
     *          产生的随机数 number
     *          用户猜的数字 guessNumber
     *          再次，这里可以用do-while 循环进行不断的让用户猜数字和判断，
     *          因为用户至少要猜一次，拿用户猜的数字和产生的数字进行比较，如果猜
     *          的数字比随机数大，就提示用户太大了，如果猜的数字比生成的数字小，
     *          就提示太小了，重新猜，如果相等，就提示正确，结束循环，如果用户猜了
     *          十次还没正确，就结束循环，这里可以通过if进行判断。
	 *          该案例主要考察的知识点：循环控制，控制台输入和输出，随机数的生成。
	 */
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		 Random ran=new Random();
		 int n=0;
		 int number;
		 System.out.println("欢迎进入猜数字游戏！！！");
	     int guessNumber=ran.nextInt(1000);
		 do{
			 System.out.println("现在您还有"+(10-n)+"次机会！");
			 
			 System.out.println("请输入一个数字：");
			 
			 number=sc.nextInt();
			 if (number>=1000||number<=0)
			 { 
				 System.out.println("输入数字有误！！！");
				 System.out.println("请输入一个数字：");
				 number=sc.nextInt();
			 }
			 n++;
			 if(number<guessNumber)
				 {
				 System.out.println(number+"太小了！！");
			     } 
			 else if(number>guessNumber)	 
				 {
				  System.out.println(number+"太大了！！");
			     }  
			 
			 if(10-n==0)
			 {System.out.println("很抱歉，您失败了！！！");n=0;}
		 }while(number!=guessNumber);
		System.out.println("恭喜你，猜对了！！！");
	}

}
